﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using RN.ERP.DTO;
using Fly.Log;

namespace RN.ERP
{
    // 注意: 使用“重构”菜单上的“重命名”命令，可以同时更改代码和配置文件中的接口名“IEnterpriseService”。
    [ServiceContract]
    public interface IEnterpriseService
    {
        #region 企业基本信息相关

        /// <summary>
        /// 根据企业类型，查询企业组织机构代码是否存在。
        /// </summary>
        /// <param name="orgnizationCode">组织机构代码。</param>
        /// <param name="corpType">企业类型。</param>
        /// <returns></returns>
        [OperationContract]
        bool IsOrgnizationCodeExists(string orgnizationCode, string corpType, string areaCode);

        /// <summary>
        /// 获取企业信息变更项集合。
        /// </summary>
        /// <param name="changeType">企业变更类型。</param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpChangeItems(string changeType, string areaCode);

        /// <summary>
        /// 根据企业编号获取企业基本信息。
        /// </summary>
        /// <param name="corpUserGuid">企业编号。</param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpInfo(string corpUserGuid, string areaCode);
        /// <summary>
        /// 根据企业编号获取外地入青企业基本信息。
        /// </summary>
        /// <param name="corpUserGuid">企业编号。</param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpInfoWdrq(string corpUserGuid, string areaCode);

        [OperationContract]
        string GetCorpInfos(string condition, string areaCode);

        [OperationContract]
        int GetCorpInfosCount(int pageIndex, int pageSize, string condition, string areaCode);

        /// <summary>
        /// 获取企业安全生产许可证。
        /// </summary>
        /// <param name="corpUserGuid"></param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpSecurity(string corpUserGuid, string areaCode);

        /// <summary>
        /// 获取企业安全生产许可证列表
        /// </summary>
        /// <param name="queryCondition"></param>
        /// <param name="pageSize"></param>
        /// <param name="pageNum"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpSecurityList(string queryCondition, int pageSize, int pageNum, string areaCode, out int count);

        /// <summary>
        /// 获取企业资质
        /// </summary>
        /// <param name="corpkind"></param>
        /// <param name="areacode"></param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpKind(string corpkind, string areaCode);

        /// <summary>
        /// 获取企业资质等级
        /// </summary>
        /// <param name="dicquery"></param>
        /// <returns></returns>
        [OperationContract]
        string GetQualityGrade(string dicquery, string areaCode);

        /// <summary>
        /// 验证企业是否存在在建项目
        /// </summary>
        /// <param name="corpUserGuid"></param>
        /// <returns></returns>
        [OperationContract]
        string CheckCorp(string dogId, string areaCode);
        /// <summary>
        /// 根据企业guid验证企业是否能够报名
        /// </summary>
        /// <param name="corpGuid"></param>
        /// <returns></returns>
        [OperationContract]
        string CheckCorpByCorpGuid(string corpGuid, string areaCode);

        /// <summary>
        /// 聊城批量导入企业信息,并生成用户信息
        /// </summary>
        /// <param name="corps"></param>
        /// <param name="areacode"></param>
        /// <returns></returns>
        [OperationContract]
        string BatchImportCorpUser(string corps, string areacode);
        #endregion

        #region 企业资质相关

        /// <summary>
        /// 获取企业资质项集合。
        /// </summary>
        /// <param name="corpType">企业类型。</param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpQualityItems(string corpType, string areaCode);

        /// <summary>
        /// 根据企业编号获取企业资质信息集合。
        /// </summary>
        /// <param name="corpUserGuid">企业编号。</param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpQualities(string corpUserGuid, string areaCode);

        [OperationContract]
        string GetCorpQualitiesByConditon(string condition, string areaCode);

        /// <summary>
        /// 根据资质编号获取资质信息。
        /// </summary>
        /// <param name="qualityId"></param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpQuality(string qualityId, string areaCode);

        #endregion

        #region 企业变更相关

        /// <summary>
        /// 获取企业变更信息。
        /// </summary>
        /// <param name="corpUserGuid">企业编号。</param>
        /// <param name="condition">查询条件。</param>
        /// <param name="flowCode">审核状态。</param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpChanges(string changetype, string corpUserGuid, string flowCode, string condition, int pageindex, int pagesize, out int count, string areaCode);

        [OperationContract]
        string GetCorpChangeDetails(int changeSetId, string areaCode);

        [OperationContract]
        string AddCorpChange(string changeSetInfo, string changeInfo, string userGuid, string userRole, string userName, string areaCode);

        [OperationContract]
        string EditCorpChange(string changeSetInfo, string changeInfo, string userGuid, string userRole, string userName, string areaCode);

        [OperationContract]
        string DeleteCorpChange(string changeId, string userGuid, string userRole, string userName, string areaCode);

        [OperationContract]
        string SubmitCorpChange(string changeIds, string userGuid, string userRole, string userName, string areaCode);

        [OperationContract]
        string AuditCorpChange(string changeId, string flowCode, string descriptin, bool isFinal, string userGuid, string userRole, string userName, string areaCode);

        /// <summary>
        /// 提供对应变更项变更前的数据查询功能。
        /// </summary>
        /// <param name="changeItem">变更项。</param>
        /// <param name="parameters">查询参数。需要和数据库中BeforeSQL字段查询参数对应。</param>
        /// <returns></returns>
        [OperationContract]
        string GetBeforeChangeValue(string changeItem, string areaCode, string[] parameters);

        /// <summary>
        /// 提供对应变更项需要填充下拉列表等集合信息的数据查询功能。
        /// </summary>
        /// <param name="changeItem"></param>
        /// <returns></returns>
        [OperationContract]
        string GetBindChangeValue(string changeItem, string areaCode, string[] parameters);

        #endregion

        #region 企业资质变更

        /// <summary>
        /// 获取企业变更信息。
        /// </summary>
        /// <param name="corpUserGuid">企业编号。</param>
        /// <param name="condition">查询条件。</param>
        /// <param name="flowCode">审核状态。</param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpQualityChanges(string corpUserGuid, string flowCode, string condition, int pageindex, int pagesize, out int count, string areaCode);

        [OperationContract]
        string GetCorpQualityChangeDetails(int changeSetId, string areaCode);

        [OperationContract]
        string AddCorpQualityChange(string changeSetInfo, string changeInfo, string userGuid, string userRole, string userName, string areaCode);

        [OperationContract]
        string EditCorpQualityChange(string changeSetInfo, string changeInfo, string userGuid, string userRole, string userName, string areaCode);

        [OperationContract]
        string DeleteCorpQualityChange(string changeId, string userGuid, string userRole, string userName, string areaCode);

        [OperationContract]
        string SubmitCorpQualityChange(string changeIds, string userGuid, string userRole, string userName, string areaCode);

        [OperationContract]
        string AuditCorpQualityChange(string changeId, string flowCode, bool isFinal, string userGuid, string userRole, string userName, string areaCode);

        #endregion

        #region 企业安全生产许可证

        /// <summary>
        /// 获取企业变更信息。
        /// </summary>
        /// <param name="corpUserGuid">企业编号。</param>
        /// <param name="condition">查询条件。</param>
        /// <param name="flowCode">审核状态。</param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpSafeChanges(string corpUserGuid, string flowCode, string condition, int pageindex, int pagesize, out int count, string areaCode);

        [OperationContract]
        string GetCorpSafeChangeDetails(int changeSetId, string areaCode);

        [OperationContract]
        string AddCorpSafeChange(string changeSetInfo, string changeInfo, string userGuid, string userRole, string userName, string areaCode);

        [OperationContract]
        string EditCorpSafeChange(string changeSetInfo, string changeInfo, string userGuid, string userRole, string userName, string areaCode);

        [OperationContract]
        string DeleteCorpSafeChange(string changeId, string userGuid, string userRole, string userName, string areaCode);

        [OperationContract]
        string SubmitCorpSafeChange(string changeIds, string userGuid, string userRole, string userName, string areaCode);

        [OperationContract]
        string AuditCorpSafeChange(string changeId, string flowCode, string description, bool isFinal, string userGuid, string userRole, string userName, string areaCode);

        [OperationContract]
        string GetChangeDetails(string changeType, int changeSetId, string areaCode);

        #endregion

        #region 企业端、主管端企业资质:注册添加、修改、查询、上报、审核
        [OperationContract]
        string CorpRegister(string corpInfo, string userInfo, bool isReturnModel, string areaCode);

        [OperationContract]
        string CorpPost(string corpUserGuid, bool isPostEmp, bool isPostQuality, string areaCode);

        [OperationContract]
        string KH_CorpPost(string corpUserGuid, bool isPostEmp, bool isPostQuality, string areaCode);

        [OperationContract]
        string CorpCancelPost(string corpUserGuid, string cancelReason, string areaCode);

        [OperationContract]
        string GetCorpostStatus(Guid corpuserguid, string areaCode);

        [OperationContract]
        string CorpInfoEdit(string corpInfo, string khCorpTable, string wdrq, string areaCode);

        [OperationContract]
        string CorpQualityAdd(string corpUserGuid, string qualities, bool isReturnModel, string areaCode);

        [OperationContract]
        string CorpQualityEdit(string quality, string areaCode);

        [OperationContract]
        string CorpQualityDel(string qualityGuid, string areaCode);

        [OperationContract]
        string CorpQualityPost(IList<string> qualityGuid, string areaCode);

        [OperationContract]
        string CorpListAudit(IList<string> corpUserGuids, string log, string flowCode, bool isunlockandback, string areaCode);

        [OperationContract]
        string CorpAudit(string corpUserGuid, string areaCode, string log, string flowCode, string description, bool isFinal);
        
        [OperationContract]
        string CorpSafeAudit(string corpUserGuid, string areaCode, string log, string flowCode, string description, bool isFinal);

        [OperationContract]
        string CorpQualityAudit(string corpUserGuid, string areaCode, string log, string flowCode, bool isFinal);

        [OperationContract]
        string CorpQualityAuditByQualities(IList<string> qualities, string areaCode, string log, string flowCode, bool isFinal);

        [OperationContract]
        string GetCompaniesInfo(string conditions, string areaCode);

        [OperationContract]
        string GetCompanyInfo(string conditions, string areaCode);
        [OperationContract]
        string GetCompanyAllInfo(
           string queryCondition,
           int pageSize,
           int pageNum,
           string areaCondition);

        [OperationContract]
        int GetCompanyCount(string queryCondition, string areaCode);

        [OperationContract]
        string GetCompanyQualities(string corpUserGuid, string conditions, string areaCode);

        [OperationContract]
        string GetCompanyQualities1(string corpUserGuid, string conditions, string areaCode);

        [OperationContract]
        string GetCorpQualityAllInfo(
           string queryCondition,
           int pageSize,
           int pageNum,
           string areaCondition);

        [OperationContract]
        string GetCompanyType(string areaCode);

        [OperationContract]
        string GetUserLog(string objectId, string codeType, string areaCode);

        [OperationContract]
        string CorpRegisterValidate(string corpCode, string areaCode);

        [OperationContract]
        string GetFlowCorpInfos(int pageIndex, int pageSize, string condition, out int counts, string areaCode);
        [OperationContract]
        string GetFlowCorpInfosSystem2(int pageIndex, int pageSize, string condition, out int counts, string areaCode);

        [OperationContract]
        string CorpInfoWDRQEdit(string corpUserGuid, string wdrq, string areaCode);
        #endregion

        #region 企业解锁、加锁
        [OperationContract]
        bool LockCorpBCanBid(string corpGuid, string areaCode);
        [OperationContract]
        bool UnLockCorpBCanBid(string corpGuid, string areaCode);
        #endregion

        #region 企业产量、产值、税金相关

        /// <summary>
        /// 根据年份查询企业是否有产量、产值、税金信息
        /// </summary>
        /// <param name="userGUID">企业GUID</param>
        /// <param name="year">年份</param>
        /// <param name="month">月份</param>
        /// <returns></returns>
        [OperationContract]
        bool ExistsProfix(string userGUID, int year, int month, string areaCode);

        /// <summary>
        /// 企业端获取企业产值、税金信息
        /// </summary>
        /// <param name="userGUID">企业GUID</param>
        /// <param name="year">年份</param>
        /// <param name="month">月份</param>
        /// <param name="flowCode">审核状态</param>
        /// <returns></returns>
        [OperationContract]
        string GetListByYearUserGUID(string userGUID, int year, int month, string flowCode, string areaCode);

        /// <summary>
        /// 添加企业产值、税金信息
        /// </summary>
        /// <param name="DTOProfit">序列化DTO实体</param>
        /// <returns>返回序列化OperationResult结果</returns>
        [OperationContract]
        string AddProfit(string DTOProfit, string areaCode);

        /// <summary>
        /// 根据ID获取企业产值、税金信息
        /// </summary>
        /// <param name="profitID">产值、税金ID</param>
        /// <returns>>返回序列化Tb_Corp_ProfitTotal结果</returns>
        [OperationContract]
        string GetProfitByID(int profitID, string areaCode);

        /// <summary>
        /// 根据ID(多个)删除企业产值、税金信息
        /// </summary>
        /// <param name="profitID">产值、税金ID</param>
        /// <returns>>返回序列化OperationResult结果</returns>
        [OperationContract]
        string DeleteProfitByIDS(string profitID, string areaCode);

        /// <summary>
        /// 修改企业产值、税金信息
        /// </summary>
        /// <param name="DTOprofit">序列化DTO实体</param>
        /// <returns>>返回序列化OperationResult结果</returns>
        [OperationContract]
        string UpdateProfitByID(string DTOprofit, string areaCode);

        /// <summary>
        /// 企业上报税金数据
        /// </summary>
        /// <param name="profitID">产值、税金ID</param>
        /// <returns>>返回序列化OperationResult结果</returns>
        [OperationContract]
        string SBProfitByIDS(string profitID, string areaCode);

        /// <summary>
        /// 主管审核企业产值、税金信息
        /// </summary>
        /// <param name="profitID">产值、税金ID</param>
        /// <param name="type">1：审核，2：退回</param>
        /// <param name="checkMemo">审核意见</param>
        /// <returns>>返回序列化OperationResult结果</returns>
        [OperationContract]
        string CheckProfitByIDS(string profitID, int type, string checkMemo, bool isunlockandback, string areaCode);

        /// <summary>
        /// 主管端获取企业产值、税金信息
        /// </summary>
        /// <param name="corpName">企业名称</param>
        /// <param name="year">年份</param>
        /// <param name="month">月份</param>
        /// <param name="flowCode">审核状态</param>
        /// <returns></returns>
        [OperationContract]
        string GetProfitListForManager(string corpUserGuid, string corpName, int year, int month, string flowCode, string areaCode);

        [OperationContract]
        string GetProfitGuidListForManager(string corpName, int year, string areaCode);

        /// <summary>
        /// 同时添加一个企业某一年的产量，产值，税金记录
        /// </summary>
        /// <param name="year">年</param>
        /// <param name="userGUID">userGUID</param>
        /// <param name="dogID">dogID</param>
        /// <param name="corpName">企业名称</param>
        /// <returns></returns>
        [OperationContract]
        bool AddList(string year, string userGUID, string dogID, string corpName, string areaCode);

        /// <summary>
        /// 批量更新
        /// </summary>
        /// <param name="list">集合</param>
        /// <returns></returns>
        [OperationContract]
        bool UpdateInfoTotalList(string list, string areaCode);

        /// <summary>
        /// 主管查询企业的产量，产值，税金信息(JSON格式)
        /// </summary>
        /// <param name="year">年份</param>
        /// <param name="corpName">企业名称</param>
        /// <param name="areaCode">地区</param>
        /// <param name="flowState">审核状态：已审核、未审核</param>
        /// <returns></returns>
        [OperationContract]
        string GetListForManager(string year, string corpName, string areaCode, string flowState);

        /// <summary>
        /// 主管批量审核
        /// </summary>
        /// <param name="list">由userGUID、年份组成的键值对集合</param>
        /// <param name="type">用户执行的操作：1代表审核，2代表退回，3代表弃审</param>
        /// <returns></returns>
        [OperationContract]
        bool CheckProfit(List<string> list, int type, string areaCode);

        #endregion

        #region 工程类获奖

        /// <summary>
        /// 本市、外埠市场 工程类获奖
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpOuterPrize(string condition, int pageIndex, int pageSize, string areaCode);

        /// <summary>
        /// 企业工程类获奖
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpProjectPrizePunish(string condition, int pageIndex, int pageSize, string areaCode);
        /// <summary>
        /// 非工程类获奖
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpPrizePunish(string condition, int pageIndex, int pageSize, string areaCode);
        /// <summary>
        /// 本市、外埠市场 工程类获奖
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpOuterPrizeCount(string condition, string areaCode);

        /// <summary>
        /// 企业工程类获奖
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpProjectPrizePunishCount(string condition, string areaCode);
        /// <summary>
        /// 非工程类获奖
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        [OperationContract]
        string GetCorpPrizePunishCount(string condition, string areaCode);

        /// <summary>
        /// 本市、外埠市场[招标代理] 工程详细信息
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        [OperationContract]
        string GetOuterPrizeProjectInfoByID(string ID, string areaCode);

        /// <summary>
        /// 查询e_FlowTable的历史记录
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        string GetAuditHistory(string condition, string areaCode);

        [OperationContract]
        string GetCorpOuerPrizeAllProjectByCorpGuid(string condition, string areaCode);

        [OperationContract]
        string GetProjectPrizePunishInfoByID(string ID, string areaCode);

        [OperationContract]
        string GEtCheckTitleByKHID(string KHID, string areaCode);

        [OperationContract]
        string GetProjectPrizePunishByCorpGuid(string condition, string areaCode);

        [OperationContract]
        string GetPrizePunishInfoByID(string ID, string areaCode);
        [OperationContract]
        string GetPrizePunishByCorpGuid(string condition, string areaCode);
        #endregion

        #region 项目信息选项查询

        /// <summary>
        /// 业绩资质
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        [OperationContract]
        string GetQualityByOuterPrizeID(string id, string areaCode);

        [OperationContract]
        string CodeZjjg_bind(string areaCode);

        [OperationContract]
        string BindStructKind(string areaCode);

        #endregion

        #region     企业注册
        [OperationContract]
        bool IsUserExisted(string userName, string areacode);

        [OperationContract]
        string CorpReg(string corp, string user, string areacode);
        #endregion

        #region 获取所有市场范围
        [OperationContract]
        string GetCorpEmbranchments(string corpInfo);
        #endregion

        #region 获取当前市场范围是否审核通过
        [OperationContract]
        string GetCorpFlowCode(string corpInfo, string areaCode);
        #endregion

        #region 企业信息修改(全省通用方法)
        [OperationContract]
        string CorpEdit(string corpInfo, string khCorpTable, string embranchMent, string areaCode);

        [OperationContract]
        string KH_CorpEdit(string khCorpTable, string areaCode);
        #endregion

        [OperationContract]
        int GetCorpQualityCount(string queryCondition, string areaCondition);

        [OperationContract]
        string CorpAuditBack(string corpUserGuid, string areaCode, string log);

        [OperationContract]
        string GetCompanyBisicInfo(string queryCondition, string areaCode);

        #region 添加市场范围
        [OperationContract]
        string EmbranchAdd(string corpUserGuid, string areaCode);
        #endregion

        #region 获取企业资质图片
        [OperationContract]
        string GetCorpZZImages(string queryCondition, string areaCode);
        #endregion

        #region 企业统计
        [OperationContract]
        string GetStatisticCorps(string areaCode, string flowCodes);
        #endregion

        #region 获取企业考核分
        [OperationContract]
        string GetCorpAssessInfo(string corpUserGuid, int bgrade, int bFlag, string areaCode);
        #endregion

        #region 外网企业面板统计
        [OperationContract]
        string GetCorpPanelInfo(string corpPanel, string areaCode);
        #endregion

        #region 外网企业查询
        [OperationContract]
        string GetPortalCorpList(
  string queryCondition,
  int pageSize,
  int pageNum,
  string areaCode);
        [OperationContract]
        int GetPortalCorpCount(string queryCondition, string areaCode);
        #endregion

        #region 判断企业编辑状态
        [OperationContract]
        string CheckCorpEditStatus(string corpUserGuid, string areaCode);

        [OperationContract]
        string CheckSecurityEditStatus(string corpUserGuid, string areaCode);
        #endregion

        #region 获取企业考核列表
        [OperationContract]
        string GetItemBikedList(int pageSize, int pageNum, string condition, string areaCode);
        [OperationContract]
        int GetItemBikedCount(string condition, string areaCode);

        #endregion

        #region 青岛招标代理系统首页企业、人员信息统计
        [OperationContract]
        string CorpStatis(string isNative, int roleid, int corpkindid, string areaCode);

        [OperationContract]
        string GetCorpList(string queryCondition, out int count, string areaCode);

        [OperationContract]
        string GetZBDLCompanyInfo(string queryCondition, int pageSize, int pageNum, string areaCondition);
        [OperationContract]
        string GetEmpExpertList(int pageSize, int pageNum, string condition, string areaCode);

        [OperationContract]
        int GetEmpExpertCount(string condition, string areaCode);

        #endregion

        #region 通知管理
        [OperationContract]
        string GetNoticeList(out int count, int pageSize, int pageNum, string condition, string areaCondition);

        [OperationContract]
        string GetNotice(string guid, string areaCondition);

        [OperationContract]
        string SaveNoticeInfo(string noticeModel, string areaCondition);

        [OperationContract]
        string DeleteNotice(string keyGuid, string areaCondition);
        #endregion

        [OperationContract]
        string GetCorBzjList(out int count, int pageIndex, int pageSize, string condition, string areaCode);
        [OperationContract]
        string GetCorBzjGroupList(out int count, int pageIndex, int pageSize, string condition, string areaCode);
        [OperationContract]
        string GetItemBikedByCorp(out int count, int pageIndex, int pageSize, string userguid, string areaCode);

        #region 获取企业在所有市场的状态
        [OperationContract]
        string GetCorpFlowStatus(string corpUserGuid, string areaCode);
        #endregion

        #region 公文新闻
        [OperationContract]
        string GetNewsList(out int count, int pageNum, int pageSize, string condition, string areaCode);

        [OperationContract]
        string GetNewsInfo(int id, string areaCode);

        [OperationContract]
        string SaveNewsInfo(string newsModel, string areaCode);

        [OperationContract]
        string DeleteNews(int id, string areaCode);
        #endregion

        #region 企业注册审核(烟台)
        [OperationContract]
        string GetCorpRegListYT(out int count, int pageNum, int pageSize, string condition, string areaCode, string flowClassId, string roleId);
        [OperationContract]
        string CorpRegAudit(string corpUserGuid, string areaCode, string log, string flowCode, string description, bool isFinal, string classId);

        [OperationContract]
        string GetManagerRegListYT(out int count, int pageNum, int pageSize, string condition, string areaCode);

        [OperationContract]
        string ManagerRegAudit(string userGuid, string areaCode, string log, string flowCode, string description, bool isFinal);
        #endregion

        [OperationContract]
        string SetCorpbCanBid(string corpUserGuid, string bCanBid, string areaCode);

        [OperationContract]
        void GenerateFlowCodebyAppId(string userGuid, int appID, string areaCode);

        #region 咨询互动(烟台门户)
        [OperationContract]
        void AddConsultation(string submitInfo, string areaCode);

        [OperationContract]
        string GetConsultationUser(string roleValue, string areaCode);

        [OperationContract]
        string GetPortalQuestionList(string isAnswer, string type, string userGuid, string role, int pageSize, int pageIndex, string areaCode);

        [OperationContract]
        int GetPortalQuestionCount(string isAnswer, string type, string userGuid, string role, string areaCode);

        [OperationContract]
        string GetPortalQuestion(string id, string areaCode);

        [OperationContract]
        string GetPortalAnswerList(string id, int pageSize, int pageIndex, string areaCode);

        [OperationContract]
        int GetPortalAnswerCount(string id, string areaCode);

        [OperationContract]
        string GetQuestionUser(string userGuid, string areaCode);

        [OperationContract]
        void AddConsultationAnswer(string submitInfo, string areaCode);

        [OperationContract]
        string GetUploadPicList(string areaCode);

        [OperationContract]
        string GetPersonByKeyGuid(string keyGuid, string areaCode);
        
        #endregion

        #region 考核获取企业信息 2014-5-14 毛凯
        [OperationContract]
        string GetCompanyBusinessInfoKH(string corpUserGuid, string snapGuid, string areaCode);
        #endregion

        [OperationContract]
        string GetProgressNodes(string classId, string areaCode, string flowCode);

        #region 考核企业附属信息 编辑 2014-5-15 毛凯
        [OperationContract]
        string CompanyAttchInfoKHEdit(
            string corpUserGuid,
            string capitalBusinessKH,
            string projectAchieveMentKH,
            string areaCode);
        #endregion

        #region  查询企业资质
        [OperationContract]
        string GetCorpLists(string queryCondition, int pageIndex, int pageSize, out int count, string areaCode);
        #endregion

        [OperationContract]
        string IsUrban(string userGuid, string areaCode);

        [OperationContract]
        string GetCorpRegListLC(out int count, int pageNum, int pageSize, string condition, string areaCode);

             /// <summary>
        /// 获取聊城企业信息
        /// </summary>
        [OperationContract]
        string GetCorpListLC(out int count, int pageNum, int pageSize, string corpName, int classid, string areaCode);
        #region 企业年检

        /// <summary>
        /// 企业自有或租赁的主要机械设备列表查询
        /// </summary>   
        [OperationContract]
        string GetCorpMachineInfoList(int pageIndex, int pageSize, out int count, Guid corpGuid, bool? isOwn, string areaCode);

        /// <summary>
        /// 企业自有或租赁的主要机械设备查询
        /// </summary> 
        [OperationContract]
        string GetCorpMachineInfoByID(Guid corpGuid, int id, string areaCode);

        /// <summary>
        /// 添加企业自有或租赁的主要机械设备
        /// </summary>       
        [OperationContract]
         bool AddCorpMachineInfo(DTO.tb_corp_MachineInfo model, string areaCode);

        /// <summary>
        /// 逻辑删除企业自有或租赁的主要机械设备列表查询
        /// </summary>       
        [OperationContract]
         bool DelCorpMachineInfo(int id, string areaCode);
        /// <summary>
        /// 修改企业自有或租赁的主要机械设备
        /// </summary>       
        [OperationContract]
         bool UpdateCorpMachineInfo(DTO.tb_corp_MachineInfo model, string areaCode);


        /// <summary>
        /// 企业企业财务经营状况列表查询
        /// </summary>       
        [OperationContract]
        string GetCorpFinancialInfoList(string corpName, int pageIndex, int pageSize, Guid corpGuid, int? currentYear, string areaCode, out int count);

        /// <summary>
        /// 企业企业财务经营状况查询
        /// </summary> 
        [OperationContract]
        string GetCorpFinancialInfoByID(Guid corpGuid, int id, string areaCode);

        [OperationContract]
        string GetCorpFinancialInfoByYear(Guid corpGuid, int? currentYear, string areaCode);

        /// <summary>
        /// 添加企业财务经营状况
        /// </summary>       
        [OperationContract]
        bool AddCorpFinancialInfo(DTO.tb_corp_FinancialInfo model, string areaCode);

        /// <summary>
        /// 逻辑企业财务经营状况
        /// </summary>       
        [OperationContract]
        bool DelCorpFinancialInfo(int id, string areaCode);
        /// <summary>
        /// 修改企业财务经营状况
        /// </summary>       
        [OperationContract]
        bool UpdateCorpFinancialInfo(DTO.tb_corp_FinancialInfo model, string areaCode);

          /// <summary>
        /// 修改企业类型
        /// </summary>
        /// <param name="corpUserGuid"></param>
        /// <param name="roleid"></param>
        /// <param name="classid"></param>
        /// <param name="areaCode"></param>
        /// <returns></returns>
        [OperationContract]
        string UpdateCorpType(string corpUserGuid, int roleid, int classid, string areaCode, string OptManGuid, string OptManName);
        /// <summary>
        /// 修改企业管理地
        /// </summary>
        /// <param name="corpUserGuid"></param>
        /// <param name="areaCode"></param>
        /// <param name="OptManGuid"></param>
        /// <param name="OptManName"></param>
        /// <returns></returns>
        [OperationContract]
        string UpdateCorpManageZone(string corpUserGuid, string areaCode, string OptManGuid, string OptManName);
        #endregion

        [OperationContract]
        string GetCorpListByGroupID(
        string queryCondition,
        int pageSize,
        int pageNum,
        string areaCode,
        int groupId,
        out int cnt);

        [OperationContract]
        string GetCorpPostInfoList(
        string queryCondition,
        int pageSize,
        int pageNum,
        string areaCode,
        int groupId,
        out int cnt);

        #region 企业组织机构代码修改(聊城)
        [OperationContract]
        string GetCorpOrgByCorpUserGuid(string corpUserGuid, string areaCode, int codeType, int appID);
        [OperationContract]
        string CorpOrgPost(string orgCode, string corpUserGuid, string orgGuid, string areaCode, int codeType, int appID, int optType);
        [OperationContract]
        string GetCorpOrgList(
            string curFlowcode,
            string corpName,
            int pageSize,
            int pageNum,
            string areaCode,
            int codeType,
            int appID,
            out int cnt);
        [OperationContract]
        string CorpOrgAudit(List<string> corpUserGuid, string roleID, string areaCode, int codeType, int appID, int optType);
        #endregion
    }
}
